package com.erp.erp_entitys.business.entity;

import com.erp.annotation.PropertyMsg;

import java.math.BigDecimal;
import java.util.Date;
import java.io.Serializable;

/**
 * 资金管理-报价表(Offer)实体类
 *
 * @author lst
 * @since 2021-01-09 18:44:19
 */
public class OfferEntity implements Serializable {
    private static final long serialVersionUID = -10550694846670084L;
    /**
    * 主键
    */
    private Integer id;
    /**
    * 报价单号
    */
    private String billNo;
    /**
    * 报价日期
    */
    @PropertyMsg("报价日期")
    private Date time;
    /**
    * 客户名称
    */
    @PropertyMsg("客户名称")
    private String customerName;
    /**
    * 客户编码
    */
    private String customerCode;
    /**
    * 国家名称
    */
    @PropertyMsg("国家名称")
    private String countryName;
    /**
    * 国家编码
    */
    private String countryCode;
    /**
    * 客户联系人
    */
    @PropertyMsg("客户联系人")
    private String customerContactName;
    /**
    * 联系人邮箱
    */
    @PropertyMsg("联系人邮箱")
    private String contactEmail;
    /**
    * 报价有效期限
    */
    @PropertyMsg("报价有效期限")
    private Date termOfValidity;
    /**
    * 交货期限
    */
    @PropertyMsg("交货期限")
    private Date deliveryPeriod;
    /**
    * 价格术语
    */
    @PropertyMsg("价格术语")
    private String priceTermsName;
    /**
    * 价格术语编码
    */
    private String priceTermsCode;
    /**
    * 报价总额
    */
    @PropertyMsg("报价总额")
    private BigDecimal totalQuotation;
    /**
    * 业务员
    */
    @PropertyMsg("业务员")
    private String salesman;
    /**
    * 业务员编码
    */
    private String salesmanCode;
    /**
    * 币种
    */
    @PropertyMsg("币种")
    private String currency;
    /**
    * 币种编码
    */
    private String currencyCode;
    /**
    * 人民币汇率
    */
    @PropertyMsg("人民币汇率")
    private BigDecimal rmbRate;
    /**
    * 美金汇率
    */
    @PropertyMsg("美金汇率")
    private BigDecimal usdRate;
    /**
    * 签约公司名称
    */
    @PropertyMsg("签约公司名称")
    private String signingCompanyName;
    /**
    * 签约公司编码
    */
    private String signingCompanyCode;
    /**
    * 收款银行编码
    */
    private String bankCode;
    /**
    * 收款银行名称
    */
    @PropertyMsg("收款银行名称")
    private String bankName;
    /**
    * 收款银行账号
    */
    @PropertyMsg("收款银行账号")
    private String bankAccount;
    /**
     * 客户等级
     */
    @PropertyMsg("客户等级")
    private String customerLevelName;

    /**
     * 客户等级编码
     */
    private String customerLevelCode;
    /**
    * 备注
    */
    @PropertyMsg("备注")
    private String memo;
    /**
    * 操作员
    */
    @PropertyMsg("操作员")
    private String operation;
    /**
    * 操作员编码
    */
    private String operationNo;
    /**
     * 标记色
     */
    private String markColor;
    /**
    * 创建时间
    */
    private Date createDate;
    /**
    * 修改时间
    */
    private Date modifyTime;
    /**
    * 状态(1.草稿箱 2.待批箱 3.已批箱 4.完成箱 5.垃圾箱)
    */
    private Integer status;
    /**
    * 是否有效(0:无效 1:有效)
    */
    private Integer valid;


    public String getMarkColor() {
        return markColor;
    }

    public void setMarkColor(String markColor) {
        this.markColor = markColor;
    }

    public String getCustomerLevelName() {
        return customerLevelName;
    }

    public void setCustomerLevelName(String customerLevelName) {
        this.customerLevelName = customerLevelName;
    }

    public String getCustomerLevelCode() {
        return customerLevelCode;
    }

    public void setCustomerLevelCode(String customerLevelCode) {
        this.customerLevelCode = customerLevelCode;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getBillNo() {
        return billNo;
    }

    public void setBillNo(String billNo) {
        this.billNo = billNo;
    }

    public Date getTime() {
        return time;
    }

    public void setTime(Date time) {
        this.time = time;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getCustomerCode() {
        return customerCode;
    }

    public void setCustomerCode(String customerCode) {
        this.customerCode = customerCode;
    }

    public String getCountryName() {
        return countryName;
    }

    public void setCountryName(String countryName) {
        this.countryName = countryName;
    }

    public String getCountryCode() {
        return countryCode;
    }

    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    public String getCustomerContactName() {
        return customerContactName;
    }

    public void setCustomerContactName(String customerContactName) {
        this.customerContactName = customerContactName;
    }

    public String getContactEmail() {
        return contactEmail;
    }

    public void setContactEmail(String contactEmail) {
        this.contactEmail = contactEmail;
    }

    public Date getTermOfValidity() {
        return termOfValidity;
    }

    public void setTermOfValidity(Date termOfValidity) {
        this.termOfValidity = termOfValidity;
    }

    public Date getDeliveryPeriod() {
        return deliveryPeriod;
    }

    public void setDeliveryPeriod(Date deliveryPeriod) {
        this.deliveryPeriod = deliveryPeriod;
    }

    public String getPriceTermsName() {
        return priceTermsName;
    }

    public void setPriceTermsName(String priceTermsName) {
        this.priceTermsName = priceTermsName;
    }

    public String getPriceTermsCode() {
        return priceTermsCode;
    }

    public void setPriceTermsCode(String priceTermsCode) {
        this.priceTermsCode = priceTermsCode;
    }

    public BigDecimal getTotalQuotation() {
        return totalQuotation;
    }

    public void setTotalQuotation(BigDecimal totalQuotation) {
        this.totalQuotation = totalQuotation;
    }

    public String getSalesman() {
        return salesman;
    }

    public void setSalesman(String salesman) {
        this.salesman = salesman;
    }

    public String getSalesmanCode() {
        return salesmanCode;
    }

    public void setSalesmanCode(String salesmanCode) {
        this.salesmanCode = salesmanCode;
    }

    public String getCurrency() {
        return currency;
    }

    public void setCurrency(String currency) {
        this.currency = currency;
    }

    public String getCurrencyCode() {
        return currencyCode;
    }

    public void setCurrencyCode(String currencyCode) {
        this.currencyCode = currencyCode;
    }

    public BigDecimal getRmbRate() {
        return rmbRate;
    }

    public void setRmbRate(BigDecimal rmbRate) {
        this.rmbRate = rmbRate;
    }

    public BigDecimal getUsdRate() {
        return usdRate;
    }

    public void setUsdRate(BigDecimal usdRate) {
        this.usdRate = usdRate;
    }

    public String getSigningCompanyName() {
        return signingCompanyName;
    }

    public void setSigningCompanyName(String signingCompanyName) {
        this.signingCompanyName = signingCompanyName;
    }

    public String getSigningCompanyCode() {
        return signingCompanyCode;
    }

    public void setSigningCompanyCode(String signingCompanyCode) {
        this.signingCompanyCode = signingCompanyCode;
    }

    public String getBankCode() {
        return bankCode;
    }

    public void setBankCode(String bankCode) {
        this.bankCode = bankCode;
    }

    public String getBankName() {
        return bankName;
    }

    public void setBankName(String bankName) {
        this.bankName = bankName;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getMemo() {
        return memo;
    }

    public void setMemo(String memo) {
        this.memo = memo;
    }

    public String getOperation() {
        return operation;
    }

    public void setOperation(String operation) {
        this.operation = operation;
    }

    public String getOperationNo() {
        return operationNo;
    }

    public void setOperationNo(String operationNo) {
        this.operationNo = operationNo;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Date getModifyTime() {
        return modifyTime;
    }

    public void setModifyTime(Date modifyTime) {
        this.modifyTime = modifyTime;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getValid() {
        return valid;
    }

    public void setValid(Integer valid) {
        this.valid = valid;
    }


    /**
     * 重写toString
     */
    @Override
    public String toString() {
        final StringBuilder sb = new StringBuilder("OfferEntity").append('[')
                .append("id=")
                .append(id)
                .append(",billNo=")
                .append(billNo)
                .append(",time=")
                .append(time)
                .append(",customerName=")
                .append(customerName)
                .append(",customerCode=")
                .append(customerCode)
                .append(",countryName=")
                .append(countryName)
                .append(",countryCode=")
                .append(countryCode)
                .append(",customerContactName=")
                .append(customerContactName)
                .append(",contactEmail=")
                .append(contactEmail)
                .append(",termOfValidity=")
                .append(termOfValidity)
                .append(",deliveryPeriod=")
                .append(deliveryPeriod)
                .append(",priceTermsName=")
                .append(priceTermsName)
                .append(",priceTermsCode=")
                .append(priceTermsCode)
                .append(",totalQuotation=")
                .append(totalQuotation)
                .append(",salesman=")
                .append(salesman)
                .append(",salesmanCode=")
                .append(salesmanCode)
                .append(",currency=")
                .append(currency)
                .append(",currencyCode=")
                .append(currencyCode)
                .append(",rmbRate=")
                .append(rmbRate)
                .append(",usdRate=")
                .append(usdRate)
                .append(",signingCompanyName=")
                .append(signingCompanyName)
                .append(",signingCompanyCode=")
                .append(signingCompanyCode)
                .append(",bankCode=")
                .append(bankCode)
                .append(",bankName=")
                .append(bankName)
                .append(",bankAccount=")
                .append(bankAccount)
                .append(",customerLevelName=")
                .append(customerLevelName)
                .append(",customerLevelCode=")
                .append(customerLevelCode)
                .append(",memo=")
                .append(memo)
                .append(",operation=")
                .append(operation)
                .append(",operationNo=")
                .append(operationNo)
                .append(",markColor=")
                .append(markColor)
                .append(",createDate=")
                .append(createDate)
                .append(",modifyTime=")
                .append(modifyTime)
                .append(",status=")
                .append(status)
                .append(",valid=")
                .append(valid)
                .append(']');
        return sb.toString();
    }
}